package com.atguigu.bigdata.spark.zzgcore.rdd.builder

import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}

/**
 * @Classname Spark01_RDD_Memory
 * @Description TODO
 * @Date 2023/9/19 16:28
 * @Author zhuzhenguo
 */
object Spark01_RDD_Memory {
  def main(args: Array[String]): Unit = {

    // 准备环境,这个 *表示系统当前最大可用核数
    val sparkConf: SparkConf = new SparkConf().setMaster("local[*]").setAppName("RDD")
    val sc = new SparkContext(sparkConf)
    // 创建RDD,从内存中创建RDD，将内存中集合的数据作为处理的数据源
    val seq: Seq[Int] = Seq[Int](1, 2, 3, 4)
    // parallelize: 并行
    //    val rdd: RDD[Int] = sc.parallelize(seq)
    // RDD后的泛型表示要处理数据的类型
    // makeRDD方法底层实现时就是调用了rdd对象的parallelize方法。
    val rdd: RDD[Int] = sc.makeRDD(seq)

    rdd.collect().foreach(println)

    // 关闭环境
    sc.stop()
  }
}
